دسته بندی ها
22:17 1398/08/03

جدا کردن سه رقم سه رقم اعداد در input با جاوااسکریپت

مشخصات سوال کننده :
کاربر : Soltani     امتیاز کاربر : 3     رتبه کاربر : 136
دسته بندی : جاوا اسکریپت

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 18558
پاسخ دهنده : fateme 02:29 1398/08/04

سلام

برای انجام این کار در قسمت کدهای script قطعه کد زیر رو بنویسید. در کدهای جی کوئری زیر از عبارات با قاعده یا Regular Expression استفاده شده

 

$.fn.digits = function(){ 
    return this.each(function(){ 
        $(this).text( $(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") ); 
    })
}

 

برای استفاده از قطعه کد بالا هم میتونید به صورت زیر استفاده کنید

 

$("span.numbers").digits();

 

توسط این کدهای جی کوئری می تونید اعداد رو 3 رقم 3 رقم جدا کنید تا نمایش بهتری داشته باشن

به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
1 نظر
yasasemani : سلام من کد اول رو توی قسمت js گذاشتم و توی هر صفحه razor هم کد دوم رو گذاشتم ولی کار نمی کنه میشه بیشتر توضیح بدید

امتیاز کاربر : 6   رتبه کاربر : 80   تاریخ ثبت : 05:29 1399/09/11
پاسخ دهنده : android 22:31 1398/09/15

با سلام

اگر میخواهید TextBox ای را در برنامه ای که تحت وب کار میکند اعداد را به صورت سه رقم سه رقم جدا کند مثلا برای نمایش پول میتونید از کد جاوا اسکریپت زیر استفاده کنید.

function itpro(Number) 
  {
       Number+= '';
        Number= Number.replace(',', ''); Number= Number.replace(',', ''); Number= Number.replace(',', '');
        Number= Number.replace(',', ''); Number= Number.replace(',', ''); Number= Number.replace(',', '');
        x = Number.split('.');
        y = x[0];
        z= x.length > 1 ? '.' + x[1] : '';
        var rgx = /(\d+)(\d{3})/;
         while (rgx.test(y))
          y= y.replace(rgx, '$1' + ',' + '$2');
          return y+ z;
  }

 

البته دقت کنید که برای جدا کردن سه رقم سه رقم اعداد در جاوااسکریپت باید در تگ input برای تکست باکس خودتون رویداد onKeyUp رو هم تعریف کنید

 

<input type="text" id="txtMoney" onkeyup="javascript:this.value=itpro(this.value);" />

 

به این پاسخ امتیاز بدهید    1
امتیاز: 25 رتبه: 28
1 نظر
rfazlola : عالی بود. خیلی سپاسگزارم

امتیاز کاربر : 0   رتبه کاربر : 7018   تاریخ ثبت : 11:56 1402/05/10
پاسخ دهنده : pedram_khan 23:31 1398/09/19

اگر میخواهید که اعداد طولانی مثل پول رو به صورت سه رقم سه رقم نمایش بدید تا کاربر بتونه راحتتر بخونه میتونید طبق راه زیر این کار رو انجام بدید. مطمئنا این کار برای یک برنامه نویس میتونه خیلی جذاب باشه و البته برای کاربری که اعداد رو در سایت شما مشاهده می کنه هم خیلی راضی تر هست.

اسکریپت زیر به راحتی این کار رو انجام میده و همه برنامه نویسان و علاقمندان به برنامه نویسی تحت وب می توانند از این اسکریپت استفاده کنند.

 

function separate(Number) 
{
Number+= '';
Number= Number.replace(',', '');
x = Number.split('.');
y = x[0];
z= x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(y))
y= y.replace(rgx, '$1' + ',' + '$2');
return y+ z;
}

 

خب حالا باید در خاصیت OnKeyUp تکست باکس تابع بالا رو تعریف کنیم. . برای اینکار کار یک کنترل از نوع Input از نوع Text به برنامه اضافه می کنیم و خواهیم دید که با تایپ اعداد در این کنترل اعداد سه رقم سه رقم جدا خواهند شد.

حالا اگر خروجی کار رو ببینید مشاهده خواهید کرد که در خروجی اعداد به صورت سه رقم سه رقم جدا شدن که نمایشی خیلی بهتر از حالت عادی داره

 

سه رقم سه رقم جدا کردن اعداد در جاوااسکریپت

به این پاسخ امتیاز بدهید    2
امتیاز: 277 رتبه: 6
پاسخ دهنده : saedbfd 15:39 1401/03/08

خود جی کوئری یک متد داره که به راحتی این کار رو انجام میده برای شما. این متد toLocaleString("en") هست. مثال زیر رو توجه کنید :

var mynumber = 2536584;

//نمایش در div
$("#mydiv").html(mynumber.toLocaleString("en"));

//نمایش در input
$("#myinput").val(mynumber.toLocaleString("en"));

 

به این پاسخ امتیاز بدهید    0
امتیاز: 1654 رتبه: 1
1 نظر
Mobin119 : Tolocalestring فقط تا 16 رقم ساپورت میکنه ، بعد 16 رقم عددو گرد میکنه

امتیاز کاربر : 0   رتبه کاربر : 7018   تاریخ ثبت : 10:23 1402/05/14
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود